package com.yfp.operation.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yfp.common.core.annotation.Excel;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 
 * @version 1.0
 * @date 2024-12-05 11:38
 */
@Data
public class ComboSaleInfoVO {

    /**
     * 设备编号
     */
    @Schema(description = "设备编号")
    private String machineId;

    /**
     * 日期
     */
    @Schema(description = "日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "日期", needMerge = true, sort = 1,dateFormat = "yyyy-MM-dd")
    private Date orderTime;

    /**
     * 已售份数同比
     */
    @Schema(description = "已售份数同比")
    @Excel(name = "已售份数同比", needMerge = true, sort = 2, scale = 2, suffix = "%")
    private BigDecimal saleNumRate;

    /**
     * 已售份数环比
     */
    @Schema(description = "已售份数环比")
    @Excel(name = "已售份数环比", needMerge = true, sort = 3, scale = 2, suffix = "%")
    private BigDecimal saleNumLoopRate;

    /**
     * 已售金额同比
     */
    @Schema(description = "已售金额同比")
    @Excel(name = "已售金额同比", needMerge = true, sort = 4, scale = 2, suffix = "%")
    private BigDecimal saleMoneyRate;

    /**
     * 已售金额环比
     */
    @Schema(description = "已售金额环比")
    @Excel(name = "已售金额环比", needMerge = true, sort = 5, scale = 2, suffix = "%")
    private BigDecimal saleMoneyLoopRate;

    /**
     * 单价中位数
     */
    @Schema(description = "单价中位数")
    @Excel(name = "单价中位数", needMerge = true, sort = 6)
    private BigDecimal moneyMedian;


    /**
     * 当日销售总价
     */
    @Schema(description = "当日销售总价")
    private BigDecimal saleMoney;


    /**
     * 当日销售总量
     */
    @Schema(description = "当日销售总量")
    private Integer saleNum;


    /**
     * 套餐销售列表
     */
    @Schema(description = "套餐销售列表")
    @Excel(name = "设备名称", needMerge = true)
    private List<ComboSaleInfoDataVO> saleDataVOS;


}
